import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

# 一次扔两个六面骰子, 和为多少的概率最大? 7 的可能性最大
# 复合索引
midx = pd.MultiIndex.from_product(
    (
        [1, 2, 3, 4, 5, 6],
        [1, 2, 3, 4, 5, 6]
    ),
    names=["a", "b"]
)
c = pd.DataFrame(
    index=midx
).reset_index().assign(c=lambda d: d.eval("a+b")).c.value_counts()
print(c)
# c.plot.bar()


# 用 numpy 生成随机数据再进行计算
# 获取默认的随机数生成器种子
rng = np.random.default_rng()

# 投掷，1 万次
one = rng.integers(1, 7, size=10000)
two = rng.integers(1, 7, size=10000)
#  RNG.integers()方法生成随机整数序列，它返回一个numpy.int32类型的结果，因为该序列是32位的整数。


# 查看单次的频数，频数几乎相同
# pd.Series(one).hist()
# pd.Series(two).hist()

# 相加，7 频数最大
pd.Series(one + two).hist()

# plt.show()

# 最终得知，一次投两个骰子，和为 7 的概率最大。
